"use strict";

/**
 * @param {Egg.Application} app - egg application
 */
module.exports = app => {
  const { router, controller } = app;
  router.post("/register", controller.login.register);
  router.post("/signIn", controller.login.signIn);
  router.post("/userUpdate", controller.login.userUpdate);
  router.post("/adminRegister", controller.adminUser.adminRegister);
  router.post("/adminSignIn", controller.adminUser.adminSignIn);
  router.post("/adminUpdate", controller.adminUser.adminUpdate);

  // 根据订单号进行查询
  router.get(
    "/searchOrder",
    app.middleware.checktoken(),
    controller.orderDetails.getOrderByNo
  );

  // 搜索用户（模糊查询）
  router.get(
    "/searchUser",
    app.middleware.checktoken(),
    controller.user.searchUser
  );

  // 根据商品名称进行模糊查询
  router.get(
    "/queryCommodity",
    app.middleware.checktoken(),
    controller.commodity.queryCommodity
  );
  // 查询所有用户
  router.get(
    "/userList",
    app.middleware.checktoken(),
    controller.user.userList
  );
  // 根据id删除用户
  router.post("/deleteUser", controller.user.deleteUser);
  router.post(
    "/deleteImgArr",
    app.middleware.checktoken(),
    controller.resetImg.deleteImgArr
  );
  // resfull风格接口规范
  // 商品接口（商品分类，商品）
  router.resources(
    "comtype",
    "/comtype",
    app.middleware.checktoken(),
    controller.comtype
  );
  router.resources(
    "queryTypeNameById",
    "/queryTypeNameById",
    app.middleware.checktoken(),
    controller.queryTypeNameById
  );
  app.middleware.checktoken(),
    router.resources(
      "commodity",
      "/commodity",
      app.middleware.checktoken(),
      controller.commodity
    );
  router.resources(
    "queryProductsByTypeId",
    "/queryProductsByTypeId",
    app.middleware.checktoken(),
    controller.queryProductsByTypeId
  );
  // 购物车接口
  app.middleware.checktoken(),
    router.resources(
      "shoppingCart",
      "/shoppingCart",
      app.middleware.checktoken(),
      controller.shoppingCart
    );

  // 用户信息接口
  router.resources(
    "userInfo",
    "/userInfo",
    app.middleware.checktoken(),
    controller.userInfo
  );

  // 用户操作订单接口
  router.resources(
    "userOrder",
    "/userOrder",
    app.middleware.checktoken(),
    controller.userOrder
  );
  // 用户查询订单详情
  router.resources(
    "orderDetails",
    "/orderDetails",
    app.middleware.checktoken(),
    controller.orderDetails
  );

  // 根据用户id和订单状态查询订单列表
  router.resources(
    "orderState",
    "/orderState",
    app.middleware.checktoken(),
    controller.orderState
  );

  // 管理员查询所有订单列表
  router.resources(
    "queryAllOrder",
    "/queryAllOrder",
    app.middleware.checktoken(),
    controller.queryAllOrder
  );

  // 上传图片
  router.post("/upload", app.middleware.checktoken(), controller.upload.upload);

  // 删除图片
  router.post(
    "/deleteImg",
    app.middleware.checktoken(),
    controller.deleteImg.deleteImg
  );

  // app.middleware.checktoken(),
};
